package com.cidp.system.service;

import java.util.Date;
import java.util.List;

import com.cidp.system.model.TopLog;
import com.litt.core.exception.BusiException;
import com.litt.core.page.IPageList;
import com.litt.core.page.PagePoParam;

/**
 * <b>标题：</b>日志查询Service接口.
 * 
 * <pre>
 * &lt;b&gt;描述&lt;/b&gt;
 *    日志查询
 * </pre>
 * 
 * @author lijian
 * @since 2008-5-23
 * @version 1.0
 */
public interface IOpLogService {

	/**
	 * 读取日志信息
	 * 
	 * @param topId 日志ID
	 * @return TopLog对象
	 * @throws BusiException
	 */
	public TopLog loadById(Long topId) throws BusiException;

	/**
	 * 删除日志信息.
	 * 
	 * @param topLog 日志对象
	 * @throws BusiException
	 */
	public void deleteTopLog(TopLog topLog) throws BusiException;

	/**
	 * 删除日志信息.
	 * 
	 * @param id 日志对象Id
	 * @throws BusiException
	 */
	public void deleteTopLogById(Long id) throws BusiException;
	
	/**
	 * 保存日志信息.
	 * 
	 * @param topLog 日志对象
	 * @return 主键
	 * @throws BusiException
	 * 
	 */
	public Long saveTopLog(TopLog opLog) throws BusiException;

	/**
	 * 更新日志信息.
	 * 
	 * @param topLog 日志对象
	 * @throws BusiException
	 */
	public void updateTopLog(TopLog topLog) throws BusiException;
	
	/**
	 * 根据操作时间和操作员Id查询对象
	 * 
	 * @param startDate 开始时间
	 * @param endDate	结束时间
	 * @param opId		操作员Id
	 * 
	 * @return TopLog对象列表
	 * @throws BusiException
	 */
	public List listByOpDatetimeAndOpId(Date startDate,Date endDate,Long opId) throws BusiException;
	
	/**
	 * 分页查询操作日志信息.
	 * 
	 * @param pagePoParam 查询参数
	 * @return IPageList IPageList对象
	 * @throws BusiException
	 */
	public IPageList listByPage(PagePoParam pagePoParam) throws BusiException;
	
}

